# 任务详情
# 情感极性分析的目的是对文本进行积极、消极、中性的判断。在大多应用场景下，只分为两类。
# 例如：对于“喜爱”和“厌恶”这两个词，就属于不同的情感倾向。

# 请在只利用Jieba分词库的前提下，完成对语句的情感极性判断，

# 请根据以上说明，将右边的 sentimentScore() 函数补充完整。

# 任务要求
# 1. 函数接收变量类型为字符串类型sentence，该变量为一个汉语句子，返回数据类型为字符串类型，返回结果只能是“积极”、“中性”、“消极”

# 2. 词汇如果出现在积极词汇语料库中，则该词汇为积极词汇；相反，如果出现在消极词汇语料库中，则该词汇为消极词汇

# 3. 如果句子中的积极词汇数量多于消极词汇数量，则该句子为“积极”；如果积极词汇数量与消极词汇数量相等，则该句子为“中性”；如果积极词汇数量少于消极词汇数量，则该句子为“消极”

# 4. 函数返回结果正确率需等于100%，不能简单地以“生气”或“高兴”之类的关键词进行判断

# 5. 词汇txt可以利用requests库读取，注意编码必须UTF-8，否则无法正确读取文本

# 测试用例
# 输入："你们的手机真不好用！非常生气，我非常郁闷！！！！"
# 输出：“消极”

# 输入："我好开心啊，非常非常非常高兴！今天我得了一百分，我很兴奋开心，愉快，开心！"
# 输出：“积极”
# 
# 
# 积极词汇：http://72.itmc.org.cn:80/JS001/static/data/python/3030/82/fj_3388_positive_vocabulary.txt
# 消极词汇：http://72.itmc.org.cn:80/JS001/static/data/python/3030/82/fj_1295_negative_vocabulary.txt
# 
# 
# # 1.运行或提交代码不需要自己编写测试用例，后台自动进行测试检查。
# 2.您编写代码的区域可以不限定在类或者函数体内，保证输入与输出符合任务要求即可。
# 3.点击“运行代码”按钮，可以查看程序设计是否正确，运行次数越多，任务得分越低。
# 4.点击“提交代码”按钮，系统将保存代码，并记录任务数据。
# 5.点击右上方“结束任务”按钮，系统将在后台计算任务得分，任务结束。
# -*- coding: utf-8 -*- 
import jieba
import requests


class Solution:
    def sentimentScore(self, sentence: str) -> str:
        jijiurl = "http://72.itmc.org.cn:80/JS001/static/data/python/3030/82/fj_3388_positive_vocabulary.txt"
        xiaojiurl = "http://72.itmc.org.cn:80/JS001/static/data/python/3030/82/fj_1295_negative_vocabulary.txt"

        jijidata = requests.get(jijiurl)
        jijidata.encoding = "utf-8"
        jijilist = [line for line in jijidata.text.split("\n")]

        xiaojidata = requests.get(xiaojiurl)
        xiaojidata.encoding = "utf-8"
        xiaojilist = [line for line in xiaojidata.text.split("\n")]

        x1 = x2 = 0

        res = jieba.lcut(sentence)

        for i in res:
            if i in jijilist:
                x1 += 1
            if i in xiaojilist:
                x2 += 1
        if x1 >= x2:
            return "积极"
        else:
            return "消极"


text1 = "你们的手机真不好用！非常生气，我非常郁闷！！！！"
text2 = "我好开心啊，非常非常非常高兴！今天我得了一百分，我很兴奋开心，愉快，开心！"
print(Solution.sentimentScore(Solution, text2))
